package com.hongshu.web.service.sys;

import com.hongshu.web.domain.dto.*;

import java.util.Map;

/**
 * 系统配置表 服务类
 *
 * @author: hongshu
 */
public interface ISysSystemConfigService {

    ConfigDataDTO getAllConfigData();

    WebsiteConfigDTO getWebsiteConfig();

    SystemConfigDTO getSystemConfig();

    LocalConfigDTO getLocalConfig();

    Map<String, OssConfigDTO> getOssConfig();

    OssConfigDTO getOssConfig(String provider);

    Map<String, SmsConfigDTO> getSmsConfig();

    AlipayConfigDTO getAlipayConfig();

    CaptchaConfigDTO getCaptchaConfig();

    AmapConfigDTO getAmapConfig();

    DemoAccountConfigDTO getDemoAccountConfig();

    DemoSiteConfigDTO getDemoSiteConfig();

    BlacklistConfigDTO getBlacklistConfig();


    void updateWebsiteConfig(WebsiteConfigDTO websiteConfig);

    void updateSystemConfig(SystemConfigDTO systemConfig);

    void updateLocalConfig(LocalConfigDTO localConfig);

    void updateOssConfig(String provider, OssConfigDTO ossConfig);

    void updateSmsConfig(String provider, SmsConfigDTO smsConfig);

    void updateAlipayConfig(AlipayConfigDTO alipayConfig);

    void updateCaptchaConfig(CaptchaConfigDTO captchaConfig);

    void updateAmapConfig(AmapConfigDTO amapConfig);

    void updateDemoAccount(DemoAccountConfigDTO demoAccountConfig);

    void updateDemoSite(DemoSiteConfigDTO demoSiteConfig);

    void updateBlacklistEnabled(Boolean enabled);

    void addBlacklistItem(BlacklistItemDTO blacklistItemDTO);

    void unbanBlacklistItem(Long id);

    void deleteBlacklistItem(Long id);
}
